Use of cartridge memory for storing logical library association information

ABSTRACT

An automated data storage library is partitioned into multiple logical libraries. A cartridge memory attached to each data storage cartridge in the library is used to hold library identification information. The library identification information is used to associate each data cartridge with one or more logical libraries. The library identification information may also be used to associate each data storage cartridge to an automated data storage library.

TECHNICAL FIELD

This invention relates to automated data storage libraries whichtransport portable data storage media cartridges between storage shelvesand read/write drives, and, more particularly the invention concerns asystem to identify and track the cartridges by the use of identificationinformation contained in a memory device located inside the cartridge.

BACKGROUND OF THE INVENTION

Automated data storage libraries are known for providing cost effectivestorage and retrieval of large quantities of data. The data is stored ondata storage media that is typically contained within a cartridge andreferred to as a data storage media cartridge. The media comprisesmagnetic media (such as magnetic tape or disks), optical media (such asoptical tape or disks), electronic media (such as PROM, EEPROM, flashPROM, Compactflash™, Smartmedia™, Memory Stick™, etc.), or othersuitable media. The data storage library contains data storageread/write drives that store data to, and/or retrieve data from the datastorage media. The cartridges are stored inside the library in storageshelves when not in use by the data storage drives. One or more robotaccessors retrieve selected cartridges from the storage shelves andprovide them to data storage drives. Generally, data storage librariescontain a large number of storage shelves to place the cartridges whenthe cartridges are not in use by a read/write drive. Each storage shelvethat may contain a cartridge is referenced or located by the library bya storage shelve address. The data storage library typically includescontrol electronics that direct the accessors operation, communicatewith the read/write drives and interface to one or more host computersto transfer data between the host computer and the data storage library.Typically, data stored on data storage media of an automated datastorage library, once requested, is needed quickly. Thus, it isdesirable that an automated data storage library be maintained in anoperational condition as much as possible, such as the well known“24×7×365” availability.

Various companies manufacture automated data storage libraries, and eachcompany has libraries with different features. Early data storagelibraries could only operate with a single host computer. Automated datastorage libraries now offer the capability of sharing the entire librarywith a plurality of host computers. Any host computer that is attachedto the library may obtain access to all, or part of the cartridges inthe library. The IBM 3584 Ultra Scalable Tape Library is an example of aproduct that has the internal capability to allocate read/write drivesand storage shelves to multiple host computers. The data storage librarycan be divided into two or more logical libraries, where the roboticsand electronics are usually shared throughout the library; however, thestorage shelves and read/write drives are assigned to one of the logicallibraries and are not shared.

One problem with supporting multiple logical libraries within a singledata storage library is the management and tracking of each cartridge.For example, if storage shelve locations are used to differentiatecartridges that belong to different logical libraries then thecartridges may be moved around by an operator while a door is open orthe library is powered off. The association of a cartridge to a logicallibrary must be maintained so that a cartridge assigned to one logicallibrary does not accidentally end up with another logical library.

U.S. Pat. No. 6,185,165 describes a method of physically partitioningthe library storage and drives into physical areas that are associatedwith particular logical libraries. One problem with U.S. Pat. No.6,185,165 (and other physical mapping solutions) is that it establishesa physical relationship between logical libraries and their associatedstorage. This makes certain desirable library features difficult (oreven impossible) to implement, such as floating home cell (where thephysical location of a cartridge can move for better library efficiency)or logical library spanning (where additional storage for a logicallibrary may appear outside the existing range of storage slots). Inaddition, if a cartridge is moved by an operator then the logicallibrary association would change, allowing the wrong host computer toaccess the media.

One solution would be the use of organization tables, where eachcartridge is associated with a particular logical library, based on thecartridge label. One problem with this approach is that very largelibraries could consume a large amount of memory to store theinformation needed to maintain the logical library association for eachcartridge. In addition the storage would have to be nonvolatile toprevent the loss of the information when the library is powered off. Aduplicate copy of the information would also be necessary to safeguardagainst losing the information in the event of a nonvolatile memoryfailure or component replacement. Another problem is that it requiresproperly labeled media. Some customers do not want labels on theircartridges and others want to control and perform their own cartridgelabeling. Defective labels that cannot be read properly can causeproblems.

U.S. Pat. No. 5,761,503 describes a method where cartridge labels areused to associate a particular cartridge with a particular logicallibrary. Cartridge ranges are assigned to logical libraries and anycartridge label that falls within the range will be associated with thatparticular logical library. While the use of cartridge label ranges havethe potential to use less nonvolatile storage space then organizationtables, it still requires properly labeled media. Importing media into aspecific logical library may not be possible unless the cartridge labelis changed. Supporting range gaps or fragmented ranges using labelscould result in large memory requirements to store all of the ranges.

In view of the foregoing, there is a need for a more flexible andreliable system for the management and tracking of cartridges in a datastorage library.

SUMMARY OF THE INVENTION

It is an object of the present invention to provide a more reliablemanagement and tracking system for data storage cartridges in a datastorage library.

Another object of the present invention is to use associationinformation in a memory device located inside the cartridge to associatethe cartridge with one of a plurality of logical and/or data storagelibraries.

Another object of the present invention is to write information to amemory device located inside the cartridge to associate the cartridgewith one of a plurality of logical and/or data storage libraries.

A further object of the present invention is to read the cartridgememory located inside the cartridge upon a library power up or otherlibrary controller directed operation so that any or all of thecartridges can be associated with any of a plurality of logical and/ordata storage libraries.

Disclosed are an apparatus, a system, a method, and a computer programproduct for the use of association information stored in a memory devicelocated inside the cartridge to identify a cartridge. The librarycontroller uses the association information to associate the cartridgewith a particular logical and/or data storage library. Most modern datastorage cartridges support this memory device and it is typicallyreferred to as cartridge memory. By using this association informationthe library controller is able to associate the cartridge quickly andefficiently even under adverse or unexpected operating conditions, andtherefore provide reliable management and tracking of data storagecartridges in a data storage library.

In one embodiment, a portion of the cartridge memory is used to indicatethe logical library that the cartridge is associated with. Thiscapability is used when a single data storage library is configured tooperate as multiple logical libraries. In another embodiment, a portionof the cartridge memory is used to indicate the data storage librarythat the cartridge is associated with. The identifier may be a form ofunique information associated with the particular library, such as alibrary serial number. This capability would enable the librarycontroller to identify cartridges that may have been moved from one datastorage library to another data storage library. This provides for morereliable management and tracking of data storage cartridges whencartridges are transported through the data storage library input/outputstation or in situations where a human operator physically movescartridges between different data storage libraries.

For a more complete understanding of the present invention, referenceshould be made to the following detailed description taken inconjunction with the accompanying drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is an isometric view of an automated data storage library inaccordance with an embodiment of the present invention.

FIG. 2 is a block diagrammatic representation of an embodiment of anautomated data storage library of FIG. 1.

FIG. 3 is a block diagrammatic representation of a plurality ofprocessor nodes of FIG. 2.

FIG. 4 is a block diagrammatic representation of an embodiment of anautomated data storage library of FIG. 1, configured into three logicallibraries.

FIG. 5 is an isometric view of a data storage media cartridge containinga cartridge memory in accordance with one embodiment of the presentinvention.

FIG. 6 is a block diagrammatic representation of the contents ofcartridge memory for use by an embodiment of the present invention.

FIG. 7 is a flow chart depicting a use of the present invention to writeassociation information to the cartridge memory during the configurationof the library.

FIG. 8 is a flow chart depicting a use of the present invention to readassociation information from the cartridge memory when a cartridge isinserted into the library through the I/O station.

FIG. 9 is a flow chart depicting a use of the present invention to readassociation information from the cartridge memory when a cartridge isinserted into the library manually by the operator.

FIG. 10 is a flow chart depicting a use of the present invention to readassociation information from the cartridge memory during an inventoryoperation.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

This invention is described in preferred embodiments in the followingdescription. The preferred embodiments are described with reference tothe Figures. While this invention is described in conjunction with thepreferred embodiments, it will be appreciated by those skilled in theart that it is intended to cover alternatives, modifications, andequivalents as may be included within the spirit and scope of theinvention as defined by the appended claims.

FIG. 1 illustrates an embodiment of an automated data storage library10, in accordance with the present invention, which is arranged foraccessing data storage media 14 (hereafter additionally referred to ascartridge, data cartridge, data storage cartridge or data storage mediacartridge) in response to commands from at least one external hostsystem, and comprises a plurality of storage shelves 16 for storing datastorage media; at least one data storage drive for reading and/orwriting data on the data storage media; and at least one robot accessor18 for transporting the data storage media between the plurality ofstorage shelves 16 and the data storage drive(s). The library may alsocomprise an operator panel 23 or other user interface, such as aweb-based interface, which allows a user to interact with the library.The library 10 may comprise one or more frames 11-13, each havingstorage shelves 16 accessible by the robot accessor 18. The robotaccessor 18 comprises a gripper assembly 20 for gripping one or moredata storage media 14, and may include a bar code scanner 22 or readingsystem, such as a smart card reader or similar system, mounted on thegripper 20, to “read” identifying information about the data storagemedia 14.

FIG. 2 illustrates an embodiment of a data storage library 10 of FIG. 1,which employs a plurality of processor nodes. U.S. Pat. No. 6,356,803,entitled “Automated Data Storage Library Distributed Control System”describes such a control system and is hereby incorporated by reference.An example of a data storage library which may implement the presentinvention is the IBM 3584 Tape Library. The library comprises a baseframe 11, may additionally comprise one or more extension frames 12, andmay comprise a high availability frame 13.

The base frame 11 of the library 10 comprises one or more data storagedrives 15, and a robot accessor 18. As discussed above, the robotaccessor 18 comprises a gripper assembly 20 and may include a readingsystem 22 to “read” identifying information about the data storage media14. The data storage drives 15, for example, may be optical disk drivesor magnetic tape drives, and the data storage media 14 may compriseoptical or magnetic tape media, respectively, or any other removablemedia and associated drives. As examples, a data storage drive maycomprise an IBM LTO Ultrium Drive, may comprise a DLT 8000 Drive, etc.Additionally, a control port may be provided, which acts to communicatebetween a host and the library, e.g., receiving commands from a host andforwarding the commands to the library, but which is not a data storagedrive.

The extension frame 12 comprises additional storage shelves, and maycomprise additional data storage drives 15. The high availability frame13 may also comprise additional storage shelves and data storage drives15, and comprises a second robot accessor 28, which includes a gripperassembly 30 and may include a bar code scanner 32 or other readingdevice, and an operator panel 280 or other user interface. In the eventof a failure or other unavailability of the robot accessor 18, or itsgripper 20, etc., the second robot accessor 28 may take over.

Each of the robot accessors 18, 28 moves its gripper in at least twodirections, called the horizontal “X” direction and vertical “Y”direction, to retrieve and grip, or to deliver and release the datastorage media 14 at the storage shelves 16 and to load and unload thedata storage media at the data storage drives 15.

Referring to FIG. 2, the library 10 receives commands from one or morehost systems 40, 41 or 42. The host systems, such as host servers,communicate with the library directly, e.g., on path 80, through one ormore control ports (not shown), or through one or more data storagedrives 15, providing commands to access particular data storage mediaand move the media, for example, between the storage shelves and thedata storage drives. The commands are typically logical commandsidentifying the media and/or logical locations for accessing the media.

The library is controlled by one or more processors, the processorsreceiving the logical commands and converting the commands to physicalmovements of the robot accessor 18, 28.

Referring additionally to FIG. 3, the processors may comprise acentralized control system, or a distributed control system of aplurality of processor nodes. In one example of a distributed controlsystem, a communication processor node 50 may be located in the baseframe 11. The communication processor node provides a communication linkfor receiving the host commands, either directly or from the drives 15,via at least one external interface 43. The communication processor node50 may additionally provide a communication link 70 for operating and/orcommunicating with the data storage drives 15.

The communication processor node 50 may be located in the base frame 11,close to the data storage drives 15. Additionally, in an example of adistributed processor system, one or more additional work processornodes are provided, which may comprise, e.g., a work processor node 52that may be located at the robot accessor 18, and that is coupled to thecommunication processor node 50. Each work processor node may respond toreceived commands that are broadcast to the work processor nodes fromany communication processor node, and the work processor node may alsodirect the operation of the robot accessor, providing move commands. AnXY processor node 55 may be provided and may be located at an XY systemof the robot accessor 18. The XY processor node 55 is coupled to thework processor node 52, and is responsive to the move commands,operating the XY system to position the gripper 20.

Also, an operator panel processor node 59 may be provided at theoperator panel 23 for providing an interface for communicating betweenthe operator panel and the communication processor node 50, the workprocessor node 52, and the XY processor node 55.

A common bus 60 may be provided, allowing communication between thevarious processor nodes. The common bus may comprise a redundant wiringnetwork, such as the commercially available “CAN” bus system, which is amulti-drop network, having a standard access protocol and wiringstandards, for example, as defined by CiA, the CAN in AutomationAssociation, Am Weich selgarten 26, D-91058 Erlangen, Germany. Othersimilar bus networks, or a wireless network system, such as RF orinfrared, may be employed in the library as is known to those of skillin the art. The processor nodes, e.g., nodes 50, 52, 55 and 59 of FIG.3, may be coupled to the common bus 60 at a nodal interface 132, 134,136 and 138.

Referring to FIG. 2, the communication processor node 50 is coupled toeach of the data storage drives 15 of the base frame 11, via lines 70,communicating with the drives and with host systems 40, 41 and 42.Alternatively, the host systems may be directly coupled to thecommunication processor node 50 at input 80, or to control port devices(not shown) which connect the library to the host system(s) with alibrary interface similar to the drive/library interface. As is known tothose of skill in the art, various communication arrangements may beemployed for communication with the hosts and with the data storagedrives. In the example of FIG. 2, host connections 80 and 81 are SCSIbusses. Bus 82 comprises an example of a Fibre Channel-Arbitrated Loopwhich is a high speed serial data interface, allowing transmission overgreater distances than the SCSI bus systems.

The data storage drives 15 may be in close proximity to thecommunication processor node 50, and may employ a short distancecommunication scheme, such as SCSI, or a serial connection, such asRS-422. The data storage drives 15 are thus individually coupled to thecommunication processor node 50 by means of lines 70. A data storagedrive 15 providing communication between a host system and the libraryis routed to an external interface 43 of FIG. 3.

An extension frame 12 may be provided, and may be coupled by anextension common bus 152 to the base frame common bus 60. Anothercommunication processor node 155, similar to communication processornode 50 of FIG. 3, may be located in the extension frame and maycommunicate with hosts, e.g., at input 156, and data storage drives 15in frame 12, e.g., via lines 170. Thus, commands from hosts may bereceived either directly, through a control port (not shown), or via thedata storage drives, via an external interface, similar to externalinterface 43 of FIG. 3. The communication processor node 155 is coupledto the extension common bus 152 at a nodal interface such as nodalinterface 132 of FIG. 3, the communication processor node 155 providinga communication link for the commands to the extension common bus 152,so that the commands are linked to the base frame common bus 60 and tothe work processor node 52.

The communication processor node 155 may be mounted in the extensionframe 12, closely adjacent to the coupled data storage drives 15 of theextension frame 12, communicating with the drives and with the attachedhost systems. The data storage drives 15 are also individually coupledto the communication processor node 155 by means of lines 170.

Additional extension frames with identical communication processor nodes155, storage shelves 16, data storage drives 15, and extension busses152, may be provided and each is coupled to the adjacent extensionframe.

Further, the data storage library 10 may additionally comprise anotherrobot accessor 28, for example, in a high availability frame 13. Therobot accessor 28 may comprise a gripper 30 for accessing the datastorage media, and an XY system 255 for moving the robot accessor. Thehigh availability frame may be adjacent an extension frame 12, oradjacent the base frame 11, and the robot accessor 28 may run on thesame horizontal mechanical path as robot accessor 18, or on an adjacentpath. The exemplary control system additionally comprises an extensioncommon bus 200 coupled to the extension common bus 152 of an extensionframe or to the common bus 60 of the base frame. Another communicationprocessor node 250 may be provided, which is also similar tocommunication processor node 50, and may be located in the highavailability frame 13, for receiving commands from hosts, eitherdirectly at input 256, or through control ports (not shown), or throughthe data storage drives 15 and lines 270, e.g., at input 256, employingan external interface similar to external interface 43 illustrated inFIG. 3. The communication processor node 250 is coupled to the highavailability frame extension common bus 200 and provides a communicationlink for the commands to the extension common bus, e.g., at a nodalinterface 132 of FIG. 3.

The communication processor node 250 may be mounted closely adjacent tothe coupled data storage drives 15 of the high availability frame 13,communicating with the drives and with the attached host systems. Thedata storage drives 15 are also individually coupled to thecommunication processor node 250 by means of lines 270, such as anRS-422 interface.

Referring to FIG. 2, a computer program implementing the presentinvention may be provided at one of the processor nodes, e.g., at workprocessor 52, or, optionally at processor 50, processor 155, orprocessor 250, or may be implemented in a plurality, or all, of theprocessor nodes.

Referring to FIG. 3, the processor nodes 50, 52, 55 and 59 comprise aprocessor 122 a, b, c, d, which may comprise any microprocessor deviceknown in the art. Examples of microprocessor devices may compriseprocessor chips, boards, PC's, RISC, work station computers, orspecialized circuits. The processor 122 a , b, c, d, operates under thecontrol of program code, often called “firmware”, since the code isrelated to the hardware constituting the library, as discussed above.The firmware is illustrated as a code image 128 a, b, c, d, maintainedin a nonvolatile memory 124 a, b, c, d. The nonvolatile memory 124 a, b,c, d may comprise any nonvolatile memory device known in the art, suchas ROM (Read Only Memory), PROM (Programmable Read Only Memory), EEPROM(Electrically Erasable Programmable Read Only Memory), Flash PROM,battery backed-up RAM, CompactFlash™, SmartMedia™, hard disk drive, etc.In addition, the processor nodes may utilize work areas in RAM memory126 a, b, c, d, which may comprise any memory device known in the art.Alternatively, the nonvolatile memory 124 a, b, c, d and/or RAM 126 a,b, c, d may be located in processor 122 a, b, c, d, respectively.

The firmware program code image may be the same for all of the processornodes, having both common code and specific code for each of the variousfunctions, but which specific code is only used by the processor of thespecific function. Alternatively, different code images may be providedfor each of the processor nodes, specifically incorporating only coderequired by the processor of the specific function. Herein, “firmware”,“firmware code”, “firmware code image”, “code image”, or “code”, aredefined as either code images which are the same for each processornode, or are specific to each processor node, or combinations thereof.

FIG. 4 illustrates an embodiment of an automated data storage library10, where the data storage library is composed of four library frames301, 302, 303 and 304. The four library frames 301, 302, 303 and 304comprises a base frame 11, may additionally comprise one or moreextension frames 12, and may comprise a high availability frame 13. Thefour library frames are divided into three logical libraries 311, 312,and 313. Each frame has a plurality of storage shelves 16 and drives 15.The number of storage shelves 16 and drives 15 shown in FIG. 3 is forillustration purposes only and is not intended to limit the number ofstorage shelves 16 or drives 15 that may be used. The library controller315 is an abstraction of the distributed control system of FIG. 3 andmay comprise one or all of the nodal controllers 50, 52, 55 and 59.Hereafter, library controller refers to one or more processors workingseparately or together to provide various functions of the automateddata storage library. The library controller may be located inside theautomated data storage library, outside the automated data storagelibrary, or combinations thereof. In this example three separate hostcomputers 40, 41 and 42 interface to the library controller 315,however, more or less than three host computers may be used. The hostcomputers 40, 41 and 42 may connect directly to the drives 15 or theymay connect to the drives indirectly through the library controller 315.The drives 15 and the cartridges contained in storage shelves 16 of thelibrary that constitute logical library 311 are associated with hostcomputer 40 and are labeled with “X” in FIG. 3. The drives 15 and thecartridges contained in storage shelves 16 of the library thatconstitute logical library 312 are associated with host computer 41 andare labeled with “Y” in FIG. 3. The drives 15 and the cartridgescontained in storage shelves 16 of the library that constitute logicallibrary 313 are associated with host computer 42 and are labeled with“Z” in FIG. 3. The drives 15 and the cartridges contained in storageshelves 16 of the library that are not associated with any host computerare labeled with “U”, and may be associated with any of the three hostcomputers 40, 41 and 42 during an operation that may discover newcartridges, such as a change in the configuration of the library, duringa cartridge Import/Export operation, during a library inventory, etc.This embodiment illustrated in FIG. 3 is not meant to limit the use ofthe invention to this example and one of ordinary skill in the art willrecognize that the configuration, the layout, the number of hostcomputers and number of components may vary from that illustrated inFIG. 3 and described herein.

In accordance with the present invention and illustrated in FIG. 5 eachdata cartridge 14 located in the storage shelves 16 of any of the framesof the library may contain a cartridge memory 505. The cartridge memory505 may contain information pertaining to the data stored on the mediaof the data cartridge as described in U.S. Pat. No. 57,859,655, thedisclosure of which is incorporated herein by reference, and/or it maycontain other information related to the use of the cartridge. Cartridgememory 505 is typically available in different capacities depending uponthe use requirements. Referring to FIG. 6, cartridge memory 505 containsa plurality of memory portions 602 that may contain information relatedto the data stored on the media contained in the cartridge. For thepresent invention, a portion of the cartridge memory 505 is used tostore association information 610 that identifies the logical and/ordata storage library that the cartridge is associated with. The memoryportion 602 for the logical library or data storage library associationmay contain numeric or other equivalent representations that serve asunique logical library and data storage library identifiers. An exampleof a logical library association is an 8 bit binary representation of anumber between 0 and 255 where each number represents one of the logicallibraries associated with a cartridge. More of the cartridge memorycould be used to enable the use of a larger number than 255 if needed.An example of a data storage library association could be a binary orASCII representation of the serial number of the data storage libraryassociated with the cartridge. Other information may also be combinedwith either the logical library identifier or the data storage libraryidentifier to produce a digital representation to be stored in thememory portions to provide a unique identifier for the associatedlogical library or data storage library. The identifier for the logicallibrary is used in one embodiment to identify which logical library thecartridge belongs to. This is useful for libraries that do not maintaina fixed physical to logical mapping of cartridges. For example, acartridge can reside in any physical storage shelve and still beassociated with a particular logical library. The identifier for thedata storage library, or physical library, is used in another embodimentto identify which physical library the cartridge belongs to. This isuseful if a cartridge is moved between different physical libraries. Forexample, a cartridge may have been associated with logical library 2 ina physical library with serial number 3100577. If the cartridge weremoved to another physical library, with serial number 3100594, then itmay not be desired to maintain the logical library 2 association. Thecontents of cartridge memory 505 can be read or written by physicallycontacting the cartridge memory with electrical connections from areader or writer device. The reading or writing device could be part ofgripper assembly A 20, or gripper assembly B 30 (FIG. 2), or any gripperassembly of any library frame. The cartridge memory 505 could be read orwritten whenever the gripper contacts the cartridge, for example before,during or after transportation of the cartridge between the storageshelves 16, drives 15, or input/output station. The contents ofcartridge memory 505 may also be read or written by wirelesscommunication technology such as using the modulation of electromagneticradiation to carry information between the cartridge memory and thereading and writing devices. The electromagnetic carrier radiation mayspan a range from radio frequencies to visible light. This contactlesscommunication presents numerous advantages because the reader/writer inthe gripper assembly only has to come in proximity of the cartridgememory to transfer information. Alternatively the contact or contactlessread/writer may be incorporated into the read/write drive 15, enablingthe reading and writing of the cartridge memory while the cartridge isin the drive. In this case, the drive may communicate the information tothe library controller through lines 70 of FIG. 2.

One embodiment of the use of this invention during the configuration ofthe library is illustrated in the flowchart of FIG. 7. A libraryconfiguration process begins at step 705. This may be a manual processwhere an operator selects logical and physical items through a userinterface, such as the operator panel 23, a web user interface, or someother interface. Alternatively, the library configuration process may bean automated process where the library controller 315 and/or hostcomputer 40, 41, 42 initiates a configuration process after detectingnew hardware components or user settings. Still further, the libraryconfiguration process may be a combination of any or all of thesemethods. At step 710, any physical and logical assignments take place.This may include the assignment of drives and data cartridges to logicallibraries. For example, referring to FIG. 4, the two drives 15 (labeled“X”) may be assigned to logical library 311 and the cartridges containedin storage shelves 16 (labeled “X”) may be assigned to logical library311. Referring again to FIG. 7, the association of cartridges to logicallibraries is determined in step 715. The configuration process mayassign associations to every cartridge in the configuration or it mayonly assign associations to cartridges that did not already haveassociations, depending on the desired results. In step 720, theassociation information is written to each cartridge. The librarycontroller 315 may use a cartridge memory writer in the gripper or itmay use the drive to perform the cartridge memory update. Alternatively,the cartridge memory writer may be located at some other locationaccessible by the library controller. Every cartridge in the library, orevery cartridge in the configuration, or only affected cartridges may bewritten, or combinations thereof. For example, if the association for aparticular cartridge did not change as a result of a configurationprocess then it may not be necessary to update the cartridge memory forthat cartridge. Step 725 concludes the library configuration process.

Another embodiment of the use of this invention when a cartridge isinserted into the library through an I/O station is illustrated in theflowchart of FIG. 8. One or more cartridges enters the I/O station atstep 805. At step 810, the association information 610 is read from thecartridge memory 505 of the inserted cartridge by a reader in thelibrary gripper or by a reader in a drive. Alternatively, the cartridgememory writer may be located at some other location accessible by thelibrary controller. If the association information 610 is not valid forthis library, as indicated in step 815, then control moves to step 820where the cartridge is optionally associated to a logical library andthe cartridge memory is written with the new association information610. This association may be based on rules set by an operator at a userinterface, by a host computer system, by the library controller 315, orcombinations thereof. For example, this invention could be combined withcartridge label ranges, where invalid association information results ina logical library assignment based on the cartridge label.Alternatively, the cartridge may reside in an unassigned state untilfurther action is taken. In this case, the cartridge association wouldoccur at some later time during library operation, or not at all. Forexample, the cartridge may be reported as a import/export element untilan import operation is performed. If the association information 610 isvalid for this library, as indicated in step 815, then control moves tostep 825 where the cartridge is optionally moved from the I/O station toan unused storage slot. This keeps the I/O station empty for anyadditional cartridge insertions that may occur. Alternatively, thecartridge may remain in the I/O station. For example, if step 820 didnot assign any association information then it may be desired to leavethe cartridge in the I/O station and skip step 825 so that a subsequenthost or operator initiated cartridge move into a logical library wouldbe used to associate the cartridge to that logical library. In step 830,a check is made to see if there are any other cartridges that have beeninserted in the I/O station. If so, then control moves to step 810 tohandle the additional cartridges. Otherwise, control moves to step 835where the I/O station insert process ends.

Another embodiment of the use of this invention when one or morecartridges are manually inserted into the library by an operator orother person by opening the library and placing a cartridge(s) on one ormore of the storage shelves 16 is illustrated in the flowchart of FIG.9. One or more cartridges are manually inserted in the library at step905. At step 910, the association information 610 is read from thecartridge memory 505 of the inserted cartridge by a reader in thelibrary gripper or by a reader in a drive. Alternatively, the cartridgememory writer may be located at some other location accessible by thelibrary controller. If the association information 610 is not valid forthis library, as indicated in step 915, then control moves to step 920where the cartridge is optionally associated to a logical library andthe cartridge memory is written with the new association information610. This association may be based on rules set by an operator at a userinterface, by a host computer system, by the library controller 315, orcombinations thereof. For example, this invention could be combined withcartridge label ranges where invalid association information results ina logical library assignment based on the cartridge label.Alternatively, the cartridge may reside in an unassigned state untilfurther action is taken. In this case, the cartridge association wouldoccur at some later time during library operation, or not at all. Forexample, the cartridge may be reported as a import/export element untilan import operation is performed. As another example, if no cartridgeassociation occurs at step 920 then any subsequent cartridge move into alogical library may be used to associate the cartridge to that logicallibrary. If the association information 610 is valid for this library,as indicated in step 915, then control moves to step 930 where a checkis made to see if there are any other cartridges that have been manuallyinserted in the library. If so, then control moves to step 910 to handlethe additional cartridges. Otherwise, control moves to step 935 wherethe manual insert process ends.

Another embodiment of the use of this invention during the operation ofthe library is illustrated in the flowchart of FIG. 10. As part ofnormal library operation or after an initial power up sequence it may bedesirable to inventory the cartridges in the library to determine theassociation information 610 of any or all of the cartridges in thelibrary. The inventory operation begins at step 1005. This may have beencaused by opening and closing a library door, a command issued by thehost computer, a command issued by an operator at a library userinterface, in response to a library error recovery procedure (ERP), etc.At step 1010, the association information 610 is read from the cartridgememory 505 of the cartridge being inventoried by a reader in the librarygripper or by a reader in a drive. Alternatively, the cartridge memorywriter may be located at some other location accessible by the librarycontroller. If the association information 610 is not valid for thislibrary, as indicated in step 1015, then control moves to step 1020where the cartridge is optionally associated to a logical library andthe cartridge memory is written with the new association information610. This association may be based on rules set by an operator at a userinterface, by a host computer system, by the library controller 315, orcombinations thereof. For example, this invention could be combined withcartridge label ranges, where invalid association information results ina logical library assignment based on the cartridge label.Alternatively, the cartridge may reside in an unassigned state untilfurther action is taken. In this case, the cartridge association wouldoccur at some later time during library operation, or not at all. Forexample, the cartridge may be reported as a import/export element untilan import operation is performed. As another example, if no cartridgeassociation occurs at step 1020 then any subsequent cartridge move intoa logical library may be used to associate the cartridge to that logicallibrary. From step 1020, control moves either to step 1025 or step 1030,depending on the desired action of invalid association information. Ifthe association information 610 is valid for this library, as indicatedin step 1015, then control moves to step 1025 where the cartridge isadded to the library inventory. At step 1030, a check is made to see ifthere are any other cartridges to inventory. If so, then control movesto step 1010 to handle the additional cartridges. Otherwise, controlmoves to step 1035 where the inventory process ends.

In another embodiment of this invention, the association of a cartridgeto a logical library and/or to a physical library may be combined withexisting techniques for tracking and utilizing cartridges within anautomated data storage library. For example, the association data may beused for import/export operations where the cartridge memory of anexported cartridge is first written with association information and anysubsequent import operation would automatically associate the cartridgewith the proper logical library, eliminating the need for any manualintervention. Likewise, a new cartridge that's imported would notcontain any valid association information and it would automatically bedetected as a new cartridge. In another example, this invention may becombined with the technique of using cartridge label ranges to keeptrack of which logical library a cartridge belongs to. In this example,this invention may be used as backup to the cartridge label ranges wherea failure to read the cartridge label would result in using theassociation information 610 from the cartridge memory 505 to identifythe owning logical library. Or, the cartridge labels may be a backup tothe association information 610 where invalid association information610 would result in using the cartridge label to determine the owninglogical library.

While the preferred embodiments of the present invention have beenillustrated in detail, the skilled artisan will appreciate thatmodifications and adaptations to those embodiments may be made withoutdeparting from the scope of the present invention as set forth in thefollowing claims.

1. An automated data storage library comprising: a plurality of storageshelves for storing data storage cartridges, each of said data storagecartridges including a cartridge shell and a storage medium; a librarycontroller for operating said automated data storage library, saidlibrary controller further partitioning said automated data storagelibrary into one or more logical libraries; at least one data storagedrive coupled to said library controller, said data storage drive usedfor reading and/or writing data on said data storage cartridges; atleast one accessor coupled to said library controller, said accessorused for transporting said data storage cartridges between said storageshelves and said data storage drive; and a cartridge memory attached tosaid cartridge shell, said cartridge memory containing associationinformation capable of being communicated to said library controller;wherein said library controller receives said association informationfrom said cartridge memory and uses said association information toassociate one or more of said data storage cartridges with one or moreof said logical libraries.
 2. An automated data storage librarycomprising: a plurality of storage shelves for storing data storagecartridges, each of said data storage cartridges including a cartridgeshell and a storage medium; a library controller for operating saidautomated data storage library, said library controller furtherpartitioning said automated data storage library into one or morelogical libraries; at least one data storage drive coupled to saidlibrary controller, said data storage drive used for reading and/orwriting data on said data storage cartridges; at least one accessorcoupled to said library controller, said accessor used for transportingsaid data storage cartridges between said storage shelves and said datastorage drive; and a cartridge memory attached to said cartridge shell,said cartridge memory containing association information capable ofbeing communicated to said library controller; wherein said librarycontroller receives said association information from said cartridgememory and uses said association information to associate one or more ofsaid data storage cartridges with said automated data storage library.3. A data storage cartridge comprising: a cartridge shell; a storagemedium for storing information; and a cartridge memory attached to saidcartridge shell, said cartridge memory having a plurality of memoryportions wherein at least one of said plurality of memory locationscontains association information, said association information includesa logical library identifier and said logical library identifier is usedto associate said data storage cartridge with a logical library.
 4. Thedata storage cartridge of claim 3 wherein said plurality of memoryportions are nonvolatile.
 5. A data storage cartridge comprising: acartridge shell; a storage medium for storing information; and acartridge memory attached to said cartridge shell, said cartridge memoryhaving a plurality of memory portions, wherein at least one of saidplurality of memory locations contains association information, saidassociation information includes an automated data storage libraryidentifier and said automated data storage library identifier is used toassociate said data storage cartridge with an automated data storagelibrary.
 6. The data storage cartridge of claim 5 wherein said pluralityof memory portions are nonvolatile.
 7. An automated information storageand retrieval system, said system comprising: a plurality of storageshelves for storing data storage cartridges, each of said data storagecartridges including a cartridge shell and a storage medium; acontroller for operating said automated information storage andretrieval system, said controller further partitioning said automatedinformation storage and retrieval system into one or more logicalinformation storage and retrieval systems; at least one informationstorage device coupled to said controller, said information storagedevice used for storage and retrieval of information on said datastorage cartridges; at least one accessor coupled to said controller,said accessor used for transporting said data storage cartridges betweensaid storage shelves and said information storage device; a cartridgememory attached to said cartridge shell, said cartridge memorycontaining at least one memory portion for storing associationinformation; and a reader for reading said association information fromsaid at least one memory portion of said cartridge memory; wherein saidcontroller receives said association information from said reader anduses said association information to associate one or more of said datastorage cartridges with one or more of said logical information storageand retrieval systems.
 8. The system of claim 7, wherein saidassociation information comprises a logical information storage andretrieval system identifier.
 9. The system of claim 7, wherein saidassociation information comprises an automated information storage andretrieval system identifier.
 10. The system of claim 7, wherein saidcontroller receives said association information from said reader anduses said association information to associate one or more of said datastorage cartridges with said automated information storage and retrievalsystem.
 11. The system of claim 7 wherein said memory portion isnonvolatile.
 12. The system of claim 7 wherein said reader is attachedto said accessor.
 13. The system of claim 7 wherein said reader isattached to said information storage device.
 14. An automatedinformation storage and retrieval system, said system comprising: aplurality of storage shelves for storing data storage cartridges, eachof said data storage cartridges including a cartridge shell and astorage medium; a cartridge memory attached to said cartridge shell,said cartridge memory containing at least one memory portion for storingassociation information, wherein said association information comprisesa logical information storage and retrieval system identifier; a writerfor writing said association information to said at least one memoryportion of said cartridge memory; a controller coupled to said writerfor assigning said association information to said data storage mediaand directing said writer to write said association information to saidat least one memory portion of said cartridge memory; at least oneinformation storage device coupled to said controller, said informationstorage device used for storage and retrieval of information on saiddata storage cartridges; and at least one accessor coupled to saidcontroller, said accessor used for transporting said data storagecartridges between said storage shelves and said information storagedevice.
 15. The system of claim 14, wherein said memory portion isnonvolatile.
 16. The system of claim 14, wherein said writer is attachedto said accessor.
 17. The system of claim 14, wherein said writer isattached to said information storage device.
 18. An automatedinformation storage and retrieval system, said system comprising: aplurality of storage shelves for storing data storage cartridges, eachof said data storage cartridges including a cartridge shell and astorage medium; a cartridge memory attached to said cartridge shell,said cartridge memory containing at least one memory portion for storingassociation information, wherein said association information comprisesan automated information storage and retrieval system identifier; awriter far writing said association information to said at least onememory portion of said cartridge memory; a controller coupled to saidwriter for assigning said association information to said data storagemedia and directing said writer to write said association information tosaid at least one memory portion of said cartridge memory; at least oneinformation storage device coupled to said controller, said informationstorage device used for storage and retrieval of information on saiddata storage cartridges; and at least one accessor coupled to saidcontroller, said accessor used for transporting said data storagecartridges between said storage shelves and said information storagedevice.
 19. The system of claim 18, wherein said memory portion isnonvolatile.
 20. The system of claim 18, wherein said writer is attachedto said accessor.
 21. The system of claim 18, wherein said writer isattached to said information storage device.
 22. A method forpartitioning an automated data storage library into multiple logicallibraries, said automated data storage library having a plurality ofdata storage cartridges and a plurality of storage shelves for storingsaid data storage cartridges, said data storage cartridges each having acartridge memory for holding association information, said associationinformation including a logical library identifier, said automated datastorage library having a controller for operating said automated datastorage library, said automated data storage library having at least oneaccessor coupled to said controller, said accessor used for transportingsaid data storage cartridges, said automated data storage library havinga reader coupled to said controller, said reader used for reading saidcartridge memory, said method comprising the steps of: said controllerdirecting said reader to read said association information from saidcartridge memory; said controller receiving said association informationfrom said reader; and said controller using said logical libraryidentifier from said association information to associate one or more ofsaid data storage cartridges to one or more of said multiple logicallibraries.
 23. The method of claim 22 wherein said associationinformation additionally includes an automated data storage libraryidentifier; and comprising the additional step of: said controller usingsaid automated data storage library identifier from said associationinformation to associate one or more of said data storage cartridges tosaid automated data storage library.
 24. A method for partitioning anautomated data storage library into multiple logical libraries, saidautomated data storage library having a plurality of data storagecartridges and a plurality of storage shelves for storing said datastorage cartridges, said data storage cartridges each having a cartridgememory for holding association information, said association informationincluding a logical library identifier, said automated data storagelibrary having a controller for operating said automated data storagelibrary, said automated data storage library having a reader coupled tosaid controller, said reader used for reading said cartridge memory,said automated data storage library having at least one accessor coupledto said controller, said accessor used for transporting said datastorage cartridges, said reader attached to said accessor, said methodcomprising the steps of: said controller directing said accessor toposition said reader in proximity of at least one of said plurality ofdata storage cartridges; said controller directing said reader to readsaid association information from said cartridge memory; said controllerreceiving said association information from said reader; and saidcontroller using said logical library identifier from said associationinformation to associate said at least one of said plurality of datastorage cartridges to one or more of said multiple logical libraries.25. The method of claim 24 wherein said association informationadditionally includes an automated data storage library identifier; andcomprising the additional step of: said controller using said automateddata storage library identifier from said association information toassociate said at least one of said plurality of data storage cartridgesto said automated data storage library.
 26. A method for partitioning anautomated data storage library into multiple logical libraries, saidautomated data storage library having a plurality of data storagecartridges and a plurality of storage shelves for storing said datastorage cartridges, said data storage cartridges each having a cartridgememory for holding association information, said association informationincluding a logical library identifier, said automated data storagelibrary having a controller for operating said automated data storagelibrary, said automated data storage library having and a reader coupledto said controller, said reader used for reading said cartridge memory,said automated data storage library having at least one accessor coupledto said controller, said accessor used for transporting said datastorage cartridges, said automated data storage library having at leastone data storage drive coupled to said controller, said data storagedrive used for reading and/or writing data on said data storagecartridges, said reader attached to said data storage drive, said methodcomprising the steps of: said controller directing said accessor toposition one of said data storage cartridges in said data storage drive;said controller directing said data storage drive to read saidassociation information from said cartridge memory; said controllerreceiving said association information from said data storage drive; andsaid controller using said logical library identifier from saidassociation information to associate said one of said cartridges to oneor more of said multiple logical libraries.
 27. The method of claim 26wherein said association information additionally includes an automateddata storage library identifier; and comprising the additional step of:said controller using said automated data storage library identifierfrom said association information to associate said one of saidcartridges to said automated data storage library.
 28. A method forpartitioning an automated data storage library into multiple logicallibraries, said automated data storage library having a plurality ofdata storage cartridges and a plurality of storage shelves for storingsaid data storage cartridges, said data storage cartridges each having acartridge memory for holding association information, said associationinformation including a logical library identifier, said automated datastorage library having a controller for operating said automated datastorage library, said automated data storage library having at least oneaccessor coupled to said controller, said accessor used for transportingsaid data storage cartridges, said automated data storage library havinga writer coupled to said controller, said writer used for writing saidcartridge memory, said method comprising the steps of: said controllerconstructing said logical library identifier of said associationinformation to associate any of said data storage cartridges to any ofsaid multiple logical libraries; and said controller directing saidwriter to write said association information to said cartridge memory.29. The method of claim 28 wherein said association informationadditionally includes an automated data storage library identifier; andcomprising the additional step of: said controller constructing saidautomated data storage library identifier of said associationinformation to associate any of said data storage cartridges to saidautomated data storage library.
 30. A method for partitioning anautomated data storage library into multiple logical libraries, saidautomated data storage library having a plurality of data storagecartridges and a plurality of storage shelves for storing said datastorage cartridges, said data storage cartridges each having a cartridgememory for holding association information, said association informationincluding a logical library identifier, said automated data storagelibrary having a controller for operating said automated data storagelibrary, said automated data storage library having and a writer coupledto said controller, said writer used for writing said cartridge memory,said automated data storage library having at least one accessor coupledto said controller, said accessor used for transporting said datastorage cartridges, said writer attached to said accessor, said methodcomprising the steps of: said controller constructing said logicallibrary identifier of said association information to associate any ofsaid data storage cartridges to any of said multiple logical libraries;said controller directing said accessor to position said writer inproximity of at least one of said plurality of data storage cartridges;and said controller directing said writer to write said associationinformation to said cartridge memory.
 31. The method of claim 30 whereinsaid association information additionally includes an automated datastorage library identifier; and comprising the additional step of: saidcontroller constructing said automated data storage library identifierof said association information associating any of said data storagecartridges to said automated data storage library.
 32. A method forpartitioning an automated data storage library into multiple logicallibraries, said automated data storage library having a plurality ofdata storage cartridges and a plurality of storage shelves for storingsaid data storage cartridges, said data storage cartridges each having acartridge memory for holding association information, said associationinformation including a logical library identifier, said automated datastorage library having a controller for operating said automated datastorage library, said automated data storage library having and a writercoupled to said controller, said writer used for writing said cartridgememory, said automated data storage library having at least one accessorcoupled to said controller, said accessor used for transporting saiddata storage cartridges, said automated data storage library having atleast one data storage drive coupled to said controller, said datastorage drive used for reading and/or writing data on said data storagecartridges, said writer attached to said data storage drive, said methodcomprising the steps of: said controller constructing said logicallibrary identifier of said association information to associate any ofsaid data storage cartridges to any of said multiple logical libraries;said controller directing said accessor to position one of said datastorage cartridges in said data storage drive; and said controllerdirecting said data storage drive to write said association informationto said cartridge memory.
 33. The method of claim 32 wherein saidassociation information additionally includes an automated data storageLibrary identifier; and comprising the additional step of: saidcontroller constructing said automated data storage library identifierof said association information associating any of said data storagecartridges to said automated data storage library.
 34. A computerprogram product on a computer-readable medium usable with a programmablecomputer, said computer program product having computer readable programcode embodied therein for partitioning an automated data storage libraryinto multiple logical libraries, said automated data storage libraryhaving a plurality of data storage cartridges and a plurality of storageshelves for storing said data storage cartridges, said data storagecartridges each having a cartridge memory for holding associationinformation, said association information including a logical libraryidentifier, said automated data storage library having a controller foroperating said automated data storage library, said automated datastorage library having at least one accessor coupled to said controller,said accessor used for transporting said data storage cartridges, saidautomated data storage library having a reader coupled to saidcontroller, said reader used for reading said cartridge memory, saidcomputer program product comprising: computer readable program codewhich causes the reading of said association information from saidcartridge memory; computer readable program code which causes saidcontroller to receive said association information from said reader; andcomputer readable program code which causes said controller to use saidlogical library identifier from said association information toassociate one or more of said data storage cartridges to one or more ofsaid multiple logical libraries.
 35. The computer readable programproduct of claim 34 wherein said association information additionallyincludes an automated data storage library identifier; and furthercomprising; computer readable program code that causes said controllerto use said automated data storage library identifier from saidassociation information to associate one or more of said data storagecartridges to said automated data storage library.
 36. A computerprogram product on a computer-readable medium usable with a programmablecomputer, said computer program product having computer readable programcode embodied therein for partitioning an automated data storage libraryinto multiple logical libraries, said automated data storage libraryhaving a plurality of data storage cartridges and a plurality of storageshelves for storing said data storage cartridges, said data storagecartridges each having a cartridge memory for holding associationinformation, said association information including a logical libraryidentifier, said automated data storage library having a controller foroperating said automated data storage library, said automated datastorage library having a reader coupled to said controller, said readerused for reading said cartridge memory, said automated data storagelibrary having at least one accessor coupled to said controller, saidaccessor used for transporting said data storage cartridges, said readerattached to said accessor, said computer program product comprising:computer readable program code which causes said accessor to positionsaid reader in proximity of one of said data storage cartridges;computer readable program code which causes the reading of saidassociation information from said cartridge memory; computer readableprogram code which causes said controller to receive said associationinformation from said reader; and computer readable program code whichcauses said controller to use said logical library identifier from saidassociation information to associate one or more of said data storagecartridges to one or more of said multiple logical libraries.
 37. Thecomputer readable program product of claim 36 wherein said associationinformation additionally includes an automated data storage libraryidentifier, and further comprising; computer readable program code thatcauses said controller to use said automated data storage libraryidentifier from said association information to associate one or more ofsaid data storage cartridges to said automated data storage library. 38.A computer program product on a computer-readable medium usable with aprogrammable computer, said computer program product having computerreadable program code embodied therein for partitioning an automateddata storage library into multiple logical libraries, said automateddata storage library having a plurality of data storage cartridges and aplurality of storage shelves for storing said data storage cartridges,said data storage cartridges each having a cartridge memory for holdingassociation information, said association information including alogical library identifier, said automated data storage library having acontroller for operating said automated data storage library, saidautomated data storage library having and a reader coupled to saidcontroller, said reader used for reading said cartridge memory, saidautomated data storage library having at least one accessor coupled tosaid controller, said accessor used for transporting said data storagecartridges, said automated data storage library having at least one datastorage drive coupled to said controller, said data storage drive usedfor reading and/or writing data on said data storage cartridges, saidreader attached to said data storage drive, said computer programproduct comprising: computer readable program code which causes saidcontroller to direct said accessor to position one of said data storagecartridges in said data storage drive; computer readable program codewhich causes the reading of said association information from saidcartridge memory; computer readable program code which causes saidcontroller to receive said association information from said datastorage drive; and computer readable program code which causes saidcontroller to use said logical library identifier from said associationinformation to associate one or more of said data storage cartridges toone or more of said multiple logical libraries.
 39. The computerreadable program product of claim 38 wherein said associationinformation additionally includes an automated data storage libraryidentifier; and further comprising; computer readable program code thatcauses said controller to use said automated data storage libraryidentifier from said association information to associate one or more ofsaid data storage cartridges to said automated data storage library. 40.A computer program product on a computer-readable medium usable with aprogrammable computer, said computer program product having computerreadable program code embodied therein for partitioning an automateddata storage library into multiple logical libraries, said automateddata storage library having a plurality of data storage cartridges and aplurality of storage shelves for storing said data storage cartridges,said data storage cartridges each having a cartridge memory for holdingassociation information, said association information including alogical library, said automated data storage library having a controllerfor operating said automated data storage library, said automated datastorage library having at least one accessor coupled to said controller,said accessor used for transporting said data storage cartridges, saidautomated data storage library having a writer coupled to saidcontroller, said writer used for writing said cartridge memory, saidcomputer program product comprising: computer readable program codewhich causes said controller to construct said logical libraryidentifier of said association information to associate any of said datastorage cartridges to any of said multiple logical libraries; andcomputer readable program code which causes said controller to directsaid writer to write said association information to said cartridgememory.
 41. The computer readable program product of claim 40 whereinsaid association information additionally includes an automated datastorage library identifier, and further comprising: computer readableprogram code that causes said controller to construct said automateddata storage library identifier of said association information toassociate any of said data storage cartridge, to said automated datastorage library.
 42. A computer program product on a computer-readablemedium usable with a programmable computer, said computer programproduct having computer readable program code embodied therein forpartitioning an automated data storage library into multiple logicallibraries, said automated data storage library having a plurality ofdata storage cartridges and a plurality of storage shelves for storingsaid data storage cartridges, said data storage cartridges each having acartridge memory for holding association information, said associationinformation including a logical library identifier, said automated datastorage library having a controller for operating said automated datastorage library, said automated data storage library having and a writercoupled to said controller, said writer used for writing said cartridgememory, said automated data storage library having at least one accessorcoupled to said controller, said accessor used for transporting saiddata storage cartridges, said writer attached to said accessor, saidcomputer program product comprising: computer readable program codewhich causes said controller to construct said logical libraryidentifier of said association information to associate any of said datastorage cartridges to any of said multiple logical libraries; computerreadable program code which causes said controller to direct saidaccessor to position said writer in proximity of at least one of saidplurality of data storage cartridges; and computer readable program codawhich causes said controller to direct said writer to write saidassociation information to said cartridge memory.
 43. The computerreadable program product of claim 42 wherein said associationinformation additionally includes an automated data storage libraryidentifier; and further comprising; computer readable program code thatcauses said controller to construct said automated data storage libraryidentifier of said association information associating any of said datastorage cartridges to said automated data storage library.
 44. Acomputer program product on a computer-readable medium usable with aprogrammable computer, said computer program product having computerreadable program code embodied therein for partitioning an automateddata storage library into multiple logical libraries, said automateddata storage library having a plurality of data storage cartridges and aplurality of storage shelves for storing said data storage cartridges,said data storage cartridges each having a cartridge memory for holdingassociation information, said association information including alogical library identifier, said automated data storage library having acontroller for operating said automated data storage library, saidautomated data storage library having and a writer coupled to saidcontroller, said writer used for writing said cartridge memory, saidautomated data storage library having at least one accessor coupled tosaid controller, said accessor used for transporting said data storagecartridges, said automated data storage library having at least one datastorage drive coupled to said controller, said data storage drive usedfor reading and/or writing data on said data storage cartridges, saidwriter attached to said data storage drive, said computer programproduct comprising: computer readable program code which causes saidcontroller to construct said logical library identifier of saidassociation information to associate any of said data storage cartridgesto any of said multiple logical libraries; computer readable programcode which causes said controller to direct said accessor to positionone of said data storage cartridges in said data storage drive; andcomputer readable program code which causes said controller to directsaid data storage drive to write said association information to saidcartridge memory.
 45. The computer readable program product of claim 44wherein said association information additionally includes an automateddata storage library identifier; and further comprising; computerreadable program code that causes said controller to construct saidautomated data storage library identifier of said associationinformation associating any of said data storage cartridges to saidautomated data storage library.